package top.juntower.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import top.juntower.pojo.GameInformation;
import top.juntower.pojo.GameTrafficRanking;
import top.juntower.pojo.GameType;
import top.juntower.pojo.GameTypeInformation;
import top.juntower.pojo.vo.CommentVo;
import top.juntower.pojo.vo.GameTypeInformationVo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Mapper
public interface GameTypeMapper {
    /**
     * 查询游戏类别
     */
    List<GameType> queryGameTypes();

    /**
     *  游戏类别查详细游戏
     */
    List<GameTypeInformation> GameTypeById(@Param("gtId") Integer gtId, Integer pageNum, Integer pageSize);

    /**
     * 游戏信息
     */
    GameInformation gameInformation(Integer giId);

    /**
     *  游戏类别排行游戏信息
     */
    List<GameTypeInformationVo> gameTypeInformationPaiHang(Integer gtId);

    /**
     *  查看收藏状态
     */
    String isCollectionGame(Integer giId,Integer uId);

    /**
     *  是否存在收藏
     */
    String CollectionGame(Integer giId,Integer uId);

    /**
     *  添加收藏
     */
    int addCollectionGame(Map map);

    /**
     *  修改收藏
     */
    int updateCollectionGame(Map map);

    /**
     *  增加访问量
     */
    int addVisits(Integer giId);

    /**
     *  根据访问量排行
     */
    List<GameTrafficRanking> trafficRanking(Integer pageNum,Integer pageSize);

    /**
     *  根据评分排行
     */
    List<GameTrafficRanking> scoreRanking(Integer pageNum,Integer pageSize);

    /**
     *  根据新游热度排行
     */
    List<GameTrafficRanking> newHotRanking(Integer pageNum,Integer pageSize);

    /**
     *  根据国内热度排行
     */
    List<GameTrafficRanking> domesticHotRanking(Integer pageNum,Integer pageSize);

    /**
     *  根据国外热度排行
     */
    List<GameTrafficRanking> abroadHotRanking(Integer pageNum,Integer pageSize);

    /**
     *  游戏模糊查询
     */
    List<GameTypeInformation> likeGame(@Param("likeName") String likeName,Integer pageNum,Integer pageSize);




}
